昨天我們透過NFT平台OpenSea整合的服務,直接發行了一個NFT。不過由於這樣發送NFT自訂性實在太低,且沒有做到真正去中心化的效果,所以我們今天要真正來撰寫智能合約了!
我們在Day18有大致紹將使用的開發流程會是用Remix(開發環境IDE)來撰寫Solidity(程式語言/合約),那現在讓我們廢話不多說,直接進入Remix官網吧
ironman.sol
pragma solidity...
跟使用函式庫OpenZeppelin
吧?!Wizard
首先當然是選擇
ERC721代幣
下面輸入代幣的名稱Name
以及代幣的符號/簡寫Symbol
(ERC721標準)Base URI
就是圖片/影片等的Metadata了, 不知道可以看這裡Mintable
指的是代幣是否可以被鑄造Auto Increment Ids
則是代幣被鑄造時的編號是否自動往上加Burnable
指的是代幣是否可以被銷毀/燒毀Pausable
指的是是否可以暫停合約中的一些函式(提高容錯率但也將失去無法更改的特性)URI Storage
指的是是否可以更改代幣的Metadata位置(通常用來開盲盒用)License
則是一些關於著作權/使用權的設定(建議不需更改)
Ironman2022 LD
以及符號IM2022LD
Base URI
的Metadata地址因為我們尚未上傳檔案, 所以先簡單輸入就好Copy to clipboard
可以複製程式碼, 並回到Remix貼上Compile xxx.sol
完成編譯, 若沒有任何錯誤跳出則代表成功!現在我們已經成功把合約編譯成Byte Code
了,現在要有一個VM環境讓我們可以簡易測試一下我們合約內的各個函式是否可以正常運行。
Remix VM(London)
(由Remix官方提供, 非以太鏈, 供本地快速測試使用)safeMint()
balanceOf()
以太坊測試鏈(Goerli)
吧!今天用最簡單的方式教大家如何使用OpenZepplin所提供的一鍵式服務,讓你沒有程式基礎也可以用合約來發行NFT,明天讓我們把合約上到以太坊測試鏈上吧!來看看有沒有辦法成功鑄造
提醒! 尚未在電腦版安裝MetaMask的人趕快去安裝喔! 明天上鏈會用到
<上一篇> [Day 23] 新手也能創造NFT! OpenSea上手,3分鐘販賣你的NFT
<下一篇> [Day 25] 建造鐵人賽專屬NFT!(二)把寫好的合約部屬上測試鏈Goerli!竟然還有測試用OpenSea?!